package org.misalen.web.database.model.mysql.pro;

import java.math.BigInteger;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.misalen.annotations.DataAccess;
import org.misalen.annotations.Enumeration;
import org.misalen.annotations.ModelComment;
import org.misalen.web.database.model.mysql.BaseSqlModel;

/**
 * 司机用户提取现金记录表
 * 
 * @author jianhun
 *
 */
@Entity
@Table(name = "ProDriverUserExtractCash")
@DynamicInsert(true)
@DynamicUpdate(true)
public class ProDriverUserExtractCash extends BaseSqlModel {

	@ModelComment("司机用户id")
	@Column(name = "driverUserId")
	private String driverUserId;

	@ModelComment("提现金额")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "amount", nullable = false, columnDefinition = " bigint ")
	private BigInteger amount;

	@ModelComment("账户")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "account", nullable = false)
	private String account;

	@ModelComment("状态")
	@Enumeration("pro-extract-state")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "state", length = 50, nullable = false)
	private String state;

	@ModelComment("类型")
	@Enumeration("pro-extract-type")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "type", length = 50, nullable = false)
	private String type;

	@ModelComment("处理时间")
	@DataAccess(add = false, search = false, update = false)
	@Column(name = "processingTime", nullable = true)
	private Date processingTime;

	@Transient
	@ModelComment("累计提现")
	private BigInteger withdrawal;

	@Transient
	@ModelComment("用户名")
	private String userName;

	@Transient
	@ModelComment("手机号")
	private String mobile;

	public BigInteger getWithdrawal() {
		return withdrawal;
	}

	public void setWithdrawal(BigInteger withdrawal) {
		this.withdrawal = withdrawal;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getDriverUserId() {
		return driverUserId;
	}

	public void setDriverUserId(String driverUserId) {
		this.driverUserId = driverUserId;
	}

	public BigInteger getAmount() {
		return amount;
	}

	public void setAmount(BigInteger amount) {
		this.amount = amount;
	}

	public String getAccount() {
		return account;
	}

	public void setAccount(String account) {
		this.account = account;
	}

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public Date getProcessingTime() {
		return processingTime;
	}

	public void setProcessingTime(Date processingTime) {
		this.processingTime = processingTime;
	}


}
